Using Model Checking to Detect Deadlocks in Distributed Object Systems
نویسنده
چکیده
We demonstrate how the use of synchronization primitives and threading policies in distributed object middleware can lead to deadlocks. We identify that object middleware only has a few built-in synchronizationand threading primitives. We suggest to express them as stereotypes in UML models to allow designers to model synchronization and threading of distributed object systems at appropriate levels of abstraction. We define the semantics of these stereotypes by a mapping to a process algebra. This allows us to use model checking techniques that are available for process algebras to detect the presence or absence of deadlocks. We also discuss how the results of these model checks can be related back to the UML diagrams.
منابع مشابه
Deadlock Detection in Distributed Object Systems
The behaviour of a distributed system is largely determined by the use of synchronization primitives and threading policies of the underlying middleware. The inherent parallel nature of distributed systems may cause liveness problems, such as deadlocks and livelocks. An increasing number of distributed systems is built using object middleware. We exploit the fact that modern object middleware o...
متن کاملModel Checking Distributed Objects
We demonstrate how the use of synchronization primitives and threading policies in object middleware can lead to deadlocks. We identify that object middleware only has a few built-in synchronization and threading primitives and suggest to express them as stereotypes in UML models. We define the semantics of these stereotypes by a mapping to a process algebra. Finally, we apply model checkers to...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملValidation and Test Generation for Object-Oriented Distributed Software
The development of correct OO distributed software is a daunting task as soon as the distributed interactions are not trivial. This is due to the inherent complexity of distributed systems (latency, error recovery, etc.), leading to numerous problems such as deadlocks, race conditions, and many difficulties in trying to detect and reproduce such error conditions and debug them. The OO technolog...
متن کاملReduction Techniques for Distributed Applications
In this section, we explain two different reduction techniques to reduce the state space of distributed multithreaded applications. These techniques are exploited in our work. One technique (Section 1) is a slight modification of a reduction technique presented by Godefroid in [1, Section 2]. This reduction technique by Godefroid reduces the state space of a system consisting of a single proces...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000